<html>
<head><title>Unstable periodic orbits</title></head>
<body bgcolor="#ffffff">
<h3>Unstable periodic orbits</h3>
<font color=blue><tt>upo <font color=red> -m# [-r# | -v#]</font> [-p# -w# -W# -a# -s# -n# -o </tt><em>outfile</em><tt> -l# -x# -c# -V# -h] </tt><em> file(s)</em>
</font>
<blockquote>
   <br>     <font color=red><tt> -m  </tt></font>embedding dimension
   <br>     <font color=red><tt> -r  </tt></font>absolute kernel bandwidth
   <br>     <font color=red><tt> -v  </tt></font>same as fraction of standard deviation
   <br>     <font color=blue><tt> -p  </tt></font>period of orbit (1)
   <br>     <font color=blue><tt> -w  </tt></font>minimal separation of trial points (e)
   <br>     <font color=blue><tt> -W  </tt></font>minimal separation of distinct orbits (e)
   <br>     <font color=blue><tt> -a  </tt></font>maximal error of orbit to be plotted (all plotted)
   <br>     <font color=blue><tt> -s  </tt></font>initial separation for stability (e)
   <br>     <font color=blue><tt> -n  </tt></font>number of trials (all points)
   <br>     <font color=blue><tt> -l  </tt></font>number of values to be read (all)
   <br>     <font color=blue><tt> -x  </tt></font>number of values to be skipped (0)
   <br>     <font color=blue><tt> -c  </tt></font><a href=../general.html#column>column to be read</a> (1 or <font color=blue><em>file</em></font>,#)
   <br>     <font color=blue><tt> -o  </tt></font><a href=../general.html#outfile>output file name</a>, just <font color=blue><tt> -o  </tt></font>means <font color=blue><em>file</em></font><font color=blue><tt>_upo</tt></font><font color=blue><tt>_pp</tt></font>
   <br>     <font color=blue><tt> -V  </tt></font><a href=../general.html#verbosity>verbosity level</a> (0 = only fatal errors)
   <br>     <font color=blue><tt> -h  </tt></font>show this message
<p>
   <a href=../general.html#verbosity>verbosity level</a> (add what you want):
<p>
    <font color=blue>             1</font> = input/output<br>
    <font color=blue>             2</font> = print orbits found<br>
    <font color=blue>             4</font> = status after 1000 points<br>
    <font color=blue>             8</font> = status after 100 points<br>
    <font color=blue>            16</font> = status after 10 points<br>
</blockquote>

Find unstable period <font color=blue><tt>-p</tt></font> orbits and their
stabilitiy (the most unstable eigenvalue). The dynamics is approximated using a
Gaussian kernel estimator of bandwidth <font color=blue><tt>-r | -v</tt></font>, where either <font color=blue><tt>-r</tt></font> or <font
color=blue><tt>-v</tt></font> must be given.

The minimum of 
<pre>
     p
    ---
    \   /                  \ 2
     |  | x    - f(x ,...) |
    /   \  n+1      n      /
    ---
    n=1

</pre>
is sought by a Levenberg-Marquardt scheme. The first <font
color=blue><tt>-n</tt></font> embedded points are tried as initial
conditions. False minima can be cut off by limiting <font
color=blue><tt>-a</tt></font>, the error at the minimum. Very close trial
points can be omitted by giving <font color=blue><tt>-w</tt></font>. Orbits
which are less than <font color=blue><tt>-W</tt></font> apart are considered
identical.
<p>
The stability is computed by iterating forward a small (set by <font
color=blue><tt> -s </tt></font>) initial perturbation to the orbit.
<p>
Orbits are written to <font
color=blue><em>file</em>_<tt>upo</tt>_<em>pp</em></font> where <em>pp</em> is
the desired period. If an orbit is found to have a sub-period, all results are
given with respect to that. Orbits can be plotted in delay coordinates using
<a href="upoembed.html">upoembed</a>.

<p>
<font color=red><b>Note:</b></font>As you noticed, the UPOs are defined here in
a rather loose sense, similarly in spirit to the use by <a
href="citation.html#so">So et al.</a> and other authors. Thus, the mere
detection of such an orbit does not constitute evidence for low dimensional
dynamics or anything the like. 

<p>
<font color=red><b>Note:</b></font>The period  is passed to the program in
samples. This is different from what you may expect, since a "period 2" orbit
of the Lorenz equations may turn out to have period 137 or whatever. In fact,
the program has been written for map like, or Poincar&eacute section data.
It is also fair to say that it hasn't been tested extensively.
<p>
<font color=red><b>Note:</b></font> While the existence and locations of the
orbits seems to be quite reliable, the stabilities pose surprising
problems. The chief reason is that they use information at a single point in
phase space and no averaging over the whole attractor is involved. Values 
should be fine for comparisons, like in <a
href="test.html">surrogate data testing</a>. If absolute quantities are needed
(like in <a href="http://www.nbi.dk/ChaosBook/">cycle expansions</a>), extra
care has to be taken. The user might consider using an alternative approach,
for example via the cycle Jacobians as obtained from a locally linear fit.
<p>

<hr>
<h3>Usage example</h3>
Try also just running: <font color=blue><tt>gnuplot upo.gnu</tt></font> in the 
<font color=blue><tt>examples</tt></font> directory.
<p>
<pre>
&gt; <font color=blue><tt>henon -l1000 | addnoise -v0.1 &gt; data</tt></font>
&gt; <font color=blue><tt>upo -p6 -m2 -v0.1 -n70 data -o</tt></font>

gnuplot&gt; <font color=blue><tt>plot '&lt; cat data | embed -d1' notitle w do,
\
           '&lt; cat data_upo_06 | upoembed -d1' index 3 title "fixed point", \
           '&lt; cat data_upo_06 | upoembed -d1' index 1 title "period 2", \
           '&lt; cat data_upo_06 | upoembed -d1' index 0 title "period 6", \
           '&lt; cat data_upo_06 | upoembed -d1' index 2 title "period 6"</tt></font>
</pre>
<p>
<IMG SRC="upo.gif" alt="upo results">
<p>
<a href="../contents.html">Table of Contents</a> * <a href="../../index.html" target="_top">TISEAN home</a>
</body></html>


